No — the user might want to see the value of the polynomial when x is 0.0. Any other value has the same problem.
In this program, no special number is suitable as a sentinel because any number is potential data. Because of this, there must be a prompt that asks if the user wants to continue, and another prompt that asks for data.
Here is an outline of the program:
class evalPoly { public static void main (String[] args ) throws IOException { double x; // a value to use with the polynomial String response = "y"; // "y" or "n" while ( response.equals("y") ) { // Get a value for x. // Evaluate the polynomial. // Print out the result. // Ask the user if the program should continue. // The user's answer is "response". } } }
It is often useful to work on one aspect of a program at a time. Let us first look at the "prompting and looping" aspect and temporarily ignore the polynomial evaluation aspect.
The condition part of the while
statement, response.equals("y")
evaluates to true or false.
Here is how this happens:
response
is a reference to a String object.response
will be the characters that the user types.equals( String )
method tests if
two Strings contain the same characters.response.equals("y")
tests if the String response
is equal to the String "y".